package com.springBoot.springBootSysCore.modules.repository.system;

import com.springBoot.springBootSysCore.common.repository.IBaseRepository;
import com.springBoot.springBootSysCore.modules.entity.system.SysFileTmp;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;

import java.util.List;

/**
 * Created by timo on 2017/11/7.
 */
public interface SysFileTmpRepository extends IBaseRepository<SysFileTmp,String>{
    /**
     *  根据文件id和自定义对象id删除缓存对象以及资源
     * @param fileId
     * @param objId
     */
    @Query("delete from SysFileTmp where  fileId=?1 and objId=?2")
    @Modifying
    public void deleteFile(String fileId, String objId);
    /**
     *  根据文件id集合和自定义对象id删除缓存对象以及资源
     * @param fileIds 文件id集合
     * @param objId
     */
    @Query("delete from SysFileTmp where  fileId in (?1) and objId=?2")
    @Modifying
    public void deleteFile(List<String> fileIds, String objId);
    /**
     * 根据文件id和自定义对象id查询缓存对象以及资源
     * @param fileId
     * @param objId
     * @return
     */
    @Query("from SysFileTmp where  fileId=?1 and objId=?2")
    public SysFileTmp queryByCondition(String fileId, String objId);

    @Query("from SysFileTmp where  id in (?1)")
    List<SysFileTmp> findByIds(List<String> strings);

    @Query("update SysFileTmp set delFlag = '1' where id in (?1)")
    @Modifying
    void updateFilteDel(List<String> ids);
}
